
package com.idealighter.game.roomcard.games.mustniuniu.message;

import com.baidu.bjf.remoting.protobuf.FieldType;
import com.baidu.bjf.remoting.protobuf.annotation.Protobuf;
import com.idealighter.game.core.annotation.ResMsg;
import com.idealighter.game.message.ModuleMsgIdConstant;
import com.idealighter.game.message.core.ResMessage;
import java.util.List;
import lombok.Data;

/**
 * 返回得分详情 .
 *
 */
@ResMsg(ModuleMsgIdConstant.MustNiuNiu.SCORE_DETAIL)
@Data
public class ResScoreDetailMsg implements ResMessage {
  @Protobuf(order = 1)
  private int id = ModuleMsgIdConstant.MustNiuNiu.SCORE_DETAIL;
  // 开始局
  @Protobuf(order = 2)
  private int roundStart;
  // 结束局
  @Protobuf(order = 3)
  private int roundEnd;
  @Protobuf(order = 4)
  private List<ScoreInfo> details;

  @Data
  public static class ScoreInfo {
    @Protobuf(order = 1)
    private long playerId;
    @Protobuf(order = 2)
    private long superId;
    @Protobuf(order = 3)
    private String playerName;
    @Protobuf(order = 4)
    private String avatar;
    @Protobuf(order = 5)
    private List<RoundInfo> rounds;
  }

  @Data
  public static class RoundInfo {
    @Protobuf(order = 1)
    private int round;
    @Protobuf(order = 2)
    private long bet;
    @Protobuf(order = 3)
    private long score;
    @Protobuf(order = 4)
    private long totalScore;
    @Protobuf(order = 5)
    private int cardsType;
    @Protobuf(order = 6, fieldType = FieldType.INT32)
    private List<Integer> cards;
    @Protobuf(order = 7)
    private int isBanker;
    @Protobuf(order = 8)
    private int callBankerMultiple;
    @Protobuf(order = 9)
    private long betOtherPlayerId;
    @Protobuf(order = 10)
    private String betOtherPlayerName;
    @Protobuf(order = 11)
    private long betOtherChips;
  }
}
